package com.cn.mmd.model;

import java.util.ArrayList;
import java.util.List;

public class StudentCountExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StudentCountExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andStudentidIsNull() {
            addCriterion("studentId is null");
            return (Criteria) this;
        }

        public Criteria andStudentidIsNotNull() {
            addCriterion("studentId is not null");
            return (Criteria) this;
        }

        public Criteria andStudentidEqualTo(String value) {
            addCriterion("studentId =", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidNotEqualTo(String value) {
            addCriterion("studentId <>", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidGreaterThan(String value) {
            addCriterion("studentId >", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidGreaterThanOrEqualTo(String value) {
            addCriterion("studentId >=", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidLessThan(String value) {
            addCriterion("studentId <", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidLessThanOrEqualTo(String value) {
            addCriterion("studentId <=", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidLike(String value) {
            addCriterion("studentId like", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidNotLike(String value) {
            addCriterion("studentId not like", value, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidIn(List<String> values) {
            addCriterion("studentId in", values, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidNotIn(List<String> values) {
            addCriterion("studentId not in", values, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidBetween(String value1, String value2) {
            addCriterion("studentId between", value1, value2, "studentid");
            return (Criteria) this;
        }

        public Criteria andStudentidNotBetween(String value1, String value2) {
            addCriterion("studentId not between", value1, value2, "studentid");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumIsNull() {
            addCriterion("activityAddNum is null");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumIsNotNull() {
            addCriterion("activityAddNum is not null");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumEqualTo(Integer value) {
            addCriterion("activityAddNum =", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumNotEqualTo(Integer value) {
            addCriterion("activityAddNum <>", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumGreaterThan(Integer value) {
            addCriterion("activityAddNum >", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("activityAddNum >=", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumLessThan(Integer value) {
            addCriterion("activityAddNum <", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumLessThanOrEqualTo(Integer value) {
            addCriterion("activityAddNum <=", value, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumIn(List<Integer> values) {
            addCriterion("activityAddNum in", values, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumNotIn(List<Integer> values) {
            addCriterion("activityAddNum not in", values, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumBetween(Integer value1, Integer value2) {
            addCriterion("activityAddNum between", value1, value2, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andActivityaddnumNotBetween(Integer value1, Integer value2) {
            addCriterion("activityAddNum not between", value1, value2, "activityaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumIsNull() {
            addCriterion("issueAddNum is null");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumIsNotNull() {
            addCriterion("issueAddNum is not null");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumEqualTo(Integer value) {
            addCriterion("issueAddNum =", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumNotEqualTo(Integer value) {
            addCriterion("issueAddNum <>", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumGreaterThan(Integer value) {
            addCriterion("issueAddNum >", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumGreaterThanOrEqualTo(Integer value) {
            addCriterion("issueAddNum >=", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumLessThan(Integer value) {
            addCriterion("issueAddNum <", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumLessThanOrEqualTo(Integer value) {
            addCriterion("issueAddNum <=", value, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumIn(List<Integer> values) {
            addCriterion("issueAddNum in", values, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumNotIn(List<Integer> values) {
            addCriterion("issueAddNum not in", values, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumBetween(Integer value1, Integer value2) {
            addCriterion("issueAddNum between", value1, value2, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andIssueaddnumNotBetween(Integer value1, Integer value2) {
            addCriterion("issueAddNum not between", value1, value2, "issueaddnum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumIsNull() {
            addCriterion("answerIssueNum is null");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumIsNotNull() {
            addCriterion("answerIssueNum is not null");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumEqualTo(Integer value) {
            addCriterion("answerIssueNum =", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumNotEqualTo(Integer value) {
            addCriterion("answerIssueNum <>", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumGreaterThan(Integer value) {
            addCriterion("answerIssueNum >", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("answerIssueNum >=", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumLessThan(Integer value) {
            addCriterion("answerIssueNum <", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumLessThanOrEqualTo(Integer value) {
            addCriterion("answerIssueNum <=", value, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumIn(List<Integer> values) {
            addCriterion("answerIssueNum in", values, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumNotIn(List<Integer> values) {
            addCriterion("answerIssueNum not in", values, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumBetween(Integer value1, Integer value2) {
            addCriterion("answerIssueNum between", value1, value2, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerissuenumNotBetween(Integer value1, Integer value2) {
            addCriterion("answerIssueNum not between", value1, value2, "answerissuenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumIsNull() {
            addCriterion("answerQuestionnaireNum is null");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumIsNotNull() {
            addCriterion("answerQuestionnaireNum is not null");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumEqualTo(Integer value) {
            addCriterion("answerQuestionnaireNum =", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumNotEqualTo(Integer value) {
            addCriterion("answerQuestionnaireNum <>", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumGreaterThan(Integer value) {
            addCriterion("answerQuestionnaireNum >", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("answerQuestionnaireNum >=", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumLessThan(Integer value) {
            addCriterion("answerQuestionnaireNum <", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumLessThanOrEqualTo(Integer value) {
            addCriterion("answerQuestionnaireNum <=", value, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumIn(List<Integer> values) {
            addCriterion("answerQuestionnaireNum in", values, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumNotIn(List<Integer> values) {
            addCriterion("answerQuestionnaireNum not in", values, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumBetween(Integer value1, Integer value2) {
            addCriterion("answerQuestionnaireNum between", value1, value2, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerquestionnairenumNotBetween(Integer value1, Integer value2) {
            addCriterion("answerQuestionnaireNum not between", value1, value2, "answerquestionnairenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumIsNull() {
            addCriterion("answerEvaluateNum is null");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumIsNotNull() {
            addCriterion("answerEvaluateNum is not null");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumEqualTo(Integer value) {
            addCriterion("answerEvaluateNum =", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumNotEqualTo(Integer value) {
            addCriterion("answerEvaluateNum <>", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumGreaterThan(Integer value) {
            addCriterion("answerEvaluateNum >", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("answerEvaluateNum >=", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumLessThan(Integer value) {
            addCriterion("answerEvaluateNum <", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumLessThanOrEqualTo(Integer value) {
            addCriterion("answerEvaluateNum <=", value, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumIn(List<Integer> values) {
            addCriterion("answerEvaluateNum in", values, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumNotIn(List<Integer> values) {
            addCriterion("answerEvaluateNum not in", values, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumBetween(Integer value1, Integer value2) {
            addCriterion("answerEvaluateNum between", value1, value2, "answerevaluatenum");
            return (Criteria) this;
        }

        public Criteria andAnswerevaluatenumNotBetween(Integer value1, Integer value2) {
            addCriterion("answerEvaluateNum not between", value1, value2, "answerevaluatenum");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}